# 通过文件读取RDD
#coding:utf8
from pyspark import SparkContext,SparkConf

if __name__ == '__main__':
    conf = SparkConf().setAppName("test").setMaster("local[*]")
    sc = SparkContext(conf=conf)

    # 通过textFile方法从文件读取RDD，路径可以是网络地址也可以是本地
    file_rdd1 = sc.textFile("../data/input/words.txt")
    print("默认读取分区数：", file_rdd1.getNumPartitions())
    print("file_rdd1内容：", file_rdd1)

    file_rdd2 = sc.textFile("../data/input/words.txt",3)
    file_rdd3 = sc.textFile("../data/input/words.txt", 100)
    print("file_rdd2分区数：", file_rdd2.getNumPartitions())
    # 这里的100分区数无法设置，可见这里给的太大的话Spark不会理会
    print("file_rdd3分区数：", file_rdd3.getNumPartitions())

    # 读取HDFS文件
    file_rdd4 = sc.textFile("hdfs://node1:8020/input/word.txt")
    print("读取HDFS文件结果：",file_rdd4.collect())